//package com.smrtcold.dev.plc;
//import com.github.s7connector.api.S7Connector;
//import com.github.s7connector.api.S7Serializer;
//import com.github.s7connector.api.annotation.S7Variable;
//import com.github.s7connector.api.factory.S7ConnectorFactory;
//import com.github.s7connector.api.factory.S7SerializerFactory;
//import com.github.s7connector.api.listener.S7Listener;
//import com.github.s7connector.impl.utils.S7Type;
//
//public class S7DirectSubscription {
//
//    public static void main(String[] args) throws Exception {
//        // 1. 创建连接
//        S7Connector connector = S7ConnectorFactory
//                .buildTCPConnector()
//                .withHost("192.168.2.100：102")
//                .withRack(0)    // 机架号
//                .withSlot(1)    // 插槽号
//                .build();
//
//        // 2. 创建数据监听器
//        connector.addListener(new S7Listener() {
//            @Override
//            public void valueChanged(String address, Object value) {
//                System.out.println("数据变化: " + address + " = " + value);
//                // 触发业务逻辑
//            }
//        });
//
//        // 3. 注册要监听的DB块（示例监听DB1.DBD0）
//        S7Serializer serializer = S7SerializerFactory.buildSerializer(connector);
//        serializer.dispense(DB1.class).addListener(); // 需定义DB1类
//
//        // 保持连接
//        Thread.sleep(Long.MAX_VALUE);
//    }
//
//    // 定义数据结构（对应PLC的DB块）
//    public static class DB1 {
//        @S7Variable(type = S7Type.DWORD, byteOffset = 0)
//        public long dataValue;
//    }
//
//
//}
